<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>find_deformable_surface_model [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dmatching.html">3D 匹配</a> / <a href="toc_3dmatching_deformablesurfacebased.html">Deformable Surface-Based</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">find_deformable_surface_model</span><span data-if="c" style="display:none;">T_find_deformable_surface_model</span><span data-if="cpp" style="display:none;">FindDeformableSurfaceModel</span><span data-if="dotnet" style="display:none;">FindDeformableSurfaceModel</span><span data-if="python" style="display:none;">find_deformable_surface_model</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">find_deformable_surface_model</span><span data-if="c" style="display:none;">T_find_deformable_surface_model</span><span data-if="cpp" style="display:none;">FindDeformableSurfaceModel</span><span data-if="dotnet" style="display:none;">FindDeformableSurfaceModel</span><span data-if="python" style="display:none;">find_deformable_surface_model</span></code> — Find the best match of a deformable surface model in a 3D scene.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>find_deformable_surface_model</b>( :  : <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, <a href="#MinScore"><i>MinScore</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : <a href="#Score"><i>Score</i></a>, <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_find_deformable_surface_model</b>(const Htuple <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, const Htuple <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const Htuple <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, const Htuple <a href="#MinScore"><i>MinScore</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>, Htuple* <a href="#Score"><i>Score</i></a>, Htuple* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>FindDeformableSurfaceModel</b>(const HTuple&amp; <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, const HTuple&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HTuple&amp; <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HTuple* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>FindDeformableSurfaceModel</b>(const HDeformableSurfaceModel&amp; <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, double <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HDeformableSurfaceMatchingResultArray* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>) const</code></p>
<p>
<code>double <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>FindDeformableSurfaceModel</b>(const HDeformableSurfaceModel&amp; <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, double <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HDeformableSurfaceMatchingResult* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a>::<b>FindDeformableSurfaceModel</b>(const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HDeformableSurfaceMatchingResultArray* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>) const</code></p>
<p>
<code>double <a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a>::<b>FindDeformableSurfaceModel</b>(const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HDeformableSurfaceMatchingResult* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>) const</code></p>
<p>
<code>static <a href="HTuple.html">HTuple</a> <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a>::<b>FindDeformableSurfaceModel</b>(const HDeformableSurfaceModel&amp; <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HDeformableSurfaceMatchingResultArray* <a href="#DeformableSurfaceMatchingResult"><i>DeformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code>double <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a>::<b>FindDeformableSurfaceModel</b>(const HDeformableSurfaceModel&amp; <a href="#DeformableSurfaceModel"><i>DeformableSurfaceModel</i></a>, const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>RelSamplingDistance</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>FindDeformableSurfaceModel</b>(<a href="HTuple.html">HTuple</a> <a href="#DeformableSurfaceModel"><i>deformableSurfaceModel</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HTuple.html">HTuple</a> <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#DeformableSurfaceMatchingResult"><i>deformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>FindDeformableSurfaceModel</b>(<a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a> <a href="#DeformableSurfaceModel"><i>deformableSurfaceModel</i></a>, double <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult[]</a> <a href="#DeformableSurfaceMatchingResult"><i>deformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code>double <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>FindDeformableSurfaceModel</b>(<a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a> <a href="#DeformableSurfaceModel"><i>deformableSurfaceModel</i></a>, double <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, double <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a> <a href="#DeformableSurfaceMatchingResult"><i>deformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a>.<b>FindDeformableSurfaceModel</b>(<a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult[]</a> <a href="#DeformableSurfaceMatchingResult"><i>deformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code>double <a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a>.<b>FindDeformableSurfaceModel</b>(<a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, double <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a> <a href="#DeformableSurfaceMatchingResult"><i>deformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code>static <a href="HTuple.html">HTuple</a> <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a>.<b>FindDeformableSurfaceModel</b>(<a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a> <a href="#DeformableSurfaceModel"><i>deformableSurfaceModel</i></a>, <a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult[]</a> <a href="#DeformableSurfaceMatchingResult"><i>deformableSurfaceMatchingResult</i></a>)</code></p>
<p>
<code>double <a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a>.<b>FindDeformableSurfaceModel</b>(<a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a> <a href="#DeformableSurfaceModel"><i>deformableSurfaceModel</i></a>, <a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, double <a href="#RelSamplingDistance"><i>relSamplingDistance</i></a>, double <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>find_deformable_surface_model</b>(<a href="#DeformableSurfaceModel"><i>deformable_surface_model</i></a>: HHandle, <a href="#ObjectModel3D"><i>object_model_3d</i></a>: HHandle, <a href="#RelSamplingDistance"><i>rel_sampling_distance</i></a>: float, <a href="#MinScore"><i>min_score</i></a>: Union[float, int], <a href="#GenParamName"><i>gen_param_name</i></a>: Sequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: Sequence[Union[str, float, int]]) -&gt; Tuple[Sequence[float], Sequence[HHandle]]</code></p>
<p>
<code>def <b>find_deformable_surface_model_s</b>(<a href="#DeformableSurfaceModel"><i>deformable_surface_model</i></a>: HHandle, <a href="#ObjectModel3D"><i>object_model_3d</i></a>: HHandle, <a href="#RelSamplingDistance"><i>rel_sampling_distance</i></a>: float, <a href="#MinScore"><i>min_score</i></a>: Union[float, int], <a href="#GenParamName"><i>gen_param_name</i></a>: Sequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: Sequence[Union[str, float, int]]) -&gt; Tuple[float, HHandle]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">find_deformable_surface_model</span><span data-if="c" style="display:none">find_deformable_surface_model</span><span data-if="cpp" style="display:none">FindDeformableSurfaceModel</span><span data-if="com" style="display:none">FindDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">FindDeformableSurfaceModel</span><span data-if="python" style="display:none">find_deformable_surface_model</span></code> finds the best match of
the deformable surface model <a href="#DeformableSurfaceModel"><i><code><span data-if="hdevelop" style="display:inline">DeformableSurfaceModel</span><span data-if="c" style="display:none">DeformableSurfaceModel</span><span data-if="cpp" style="display:none">DeformableSurfaceModel</span><span data-if="com" style="display:none">DeformableSurfaceModel</span><span data-if="dotnet" style="display:none">deformableSurfaceModel</span><span data-if="python" style="display:none">deformable_surface_model</span></code></i></a> in the 3D scene
<a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a>.
The deformable surface model must have been
created previously with, for example, <a href="create_deformable_surface_model.html"><code><span data-if="hdevelop" style="display:inline">create_deformable_surface_model</span><span data-if="c" style="display:none">create_deformable_surface_model</span><span data-if="cpp" style="display:none">CreateDeformableSurfaceModel</span><span data-if="com" style="display:none">CreateDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">CreateDeformableSurfaceModel</span><span data-if="python" style="display:none">create_deformable_surface_model</span></code></a>.
</p>
<p>The matching requires that the 3D object model <a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a>
contains points and normals.
The scene shall provide one of the following options:
</p>
<ul>
<li>
<p> points and point normals
</p>
</li>
<li>
<p> points and a 2D-Mapping, e.g., an XYZ image triple converted with
<a href="xyz_to_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></code></a>
</p>
</li>
</ul>
<p>
It is important for an accurate pose that the normals of the scene
and the model point in the same direction (see
<i><span data-if="hdevelop" style="display:inline">'scene_invert_normals'</span><span data-if="c" style="display:none">"scene_invert_normals"</span><span data-if="cpp" style="display:none">"scene_invert_normals"</span><span data-if="com" style="display:none">"scene_invert_normals"</span><span data-if="dotnet" style="display:none">"scene_invert_normals"</span><span data-if="python" style="display:none">"scene_invert_normals"</span></i>).
Note that triangles or polygons in the passed scene are ignored.
Instead, only the vertices are used for matching.
It is thus in general not recommended to use this operator on meshed scenes,
such as CAD data.
Instead, such a scene must be sampled beforehand using
<a href="sample_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">sample_object_model_3d</span><span data-if="c" style="display:none">sample_object_model_3d</span><span data-if="cpp" style="display:none">SampleObjectModel3d</span><span data-if="com" style="display:none">SampleObjectModel3d</span><span data-if="dotnet" style="display:none">SampleObjectModel3d</span><span data-if="python" style="display:none">sample_object_model_3d</span></code></a> to create points and normals.
When using noisy point clouds, e.g., from time-of-flight cameras, the
generic parameter <i><span data-if="hdevelop" style="display:inline">'scene_normal_computation'</span><span data-if="c" style="display:none">"scene_normal_computation"</span><span data-if="cpp" style="display:none">"scene_normal_computation"</span><span data-if="com" style="display:none">"scene_normal_computation"</span><span data-if="dotnet" style="display:none">"scene_normal_computation"</span><span data-if="python" style="display:none">"scene_normal_computation"</span></i> should be set to
<i><span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span></i> in order to obtain more robust results (see below).
</p>
<p>First, points are sampled uniformly from the scene passed in
<a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a>. The sampling distance is controlled with
the parameter <a href="#RelSamplingDistance"><i><code><span data-if="hdevelop" style="display:inline">RelSamplingDistance</span><span data-if="c" style="display:none">RelSamplingDistance</span><span data-if="cpp" style="display:none">RelSamplingDistance</span><span data-if="com" style="display:none">RelSamplingDistance</span><span data-if="dotnet" style="display:none">relSamplingDistance</span><span data-if="python" style="display:none">rel_sampling_distance</span></code></i></a>, and is given relative
to the diameter of the surface model.
Decreasing <a href="#RelSamplingDistance"><i><code><span data-if="hdevelop" style="display:inline">RelSamplingDistance</span><span data-if="c" style="display:none">RelSamplingDistance</span><span data-if="cpp" style="display:none">RelSamplingDistance</span><span data-if="com" style="display:none">RelSamplingDistance</span><span data-if="dotnet" style="display:none">relSamplingDistance</span><span data-if="python" style="display:none">rel_sampling_distance</span></code></i></a> leads to more sampled points,
and in turn to a more stable but slower matching. Increasing
<a href="#RelSamplingDistance"><i><code><span data-if="hdevelop" style="display:inline">RelSamplingDistance</span><span data-if="c" style="display:none">RelSamplingDistance</span><span data-if="cpp" style="display:none">RelSamplingDistance</span><span data-if="com" style="display:none">RelSamplingDistance</span><span data-if="dotnet" style="display:none">relSamplingDistance</span><span data-if="python" style="display:none">rel_sampling_distance</span></code></i></a> reduces the number of sampled scene
points, which leads to a less stable but faster matching. For an
illustration showing different values for <a href="#RelSamplingDistance"><i><code><span data-if="hdevelop" style="display:inline">RelSamplingDistance</span><span data-if="c" style="display:none">RelSamplingDistance</span><span data-if="cpp" style="display:none">RelSamplingDistance</span><span data-if="com" style="display:none">RelSamplingDistance</span><span data-if="dotnet" style="display:none">relSamplingDistance</span><span data-if="python" style="display:none">rel_sampling_distance</span></code></i></a>,
please refer to 该算子 <a href="create_deformable_surface_model.html"><code><span data-if="hdevelop" style="display:inline">create_deformable_surface_model</span><span data-if="c" style="display:none">create_deformable_surface_model</span><span data-if="cpp" style="display:none">CreateDeformableSurfaceModel</span><span data-if="com" style="display:none">CreateDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">CreateDeformableSurfaceModel</span><span data-if="python" style="display:none">create_deformable_surface_model</span></code></a>.
</p>
<p>该算子 <a href="get_deformable_surface_matching_result.html"><code><span data-if="hdevelop" style="display:inline">get_deformable_surface_matching_result</span><span data-if="c" style="display:none">get_deformable_surface_matching_result</span><span data-if="cpp" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="com" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="python" style="display:none">get_deformable_surface_matching_result</span></code></a> can be used to
retrieve the sampled scene points for visual inspection.
For a robust matching it is recommended that at least 50-100
scene points are sampled for each object instance.
</p>
<p>The method first finds an approximate position of the object.
This position is then refined.
The generic parameters controlling the deformation are described
further down.
</p>
<p>If a match was found, the score of the match is returned in <a href="#Score"><i><code><span data-if="hdevelop" style="display:inline">Score</span><span data-if="c" style="display:none">Score</span><span data-if="cpp" style="display:none">Score</span><span data-if="com" style="display:none">Score</span><span data-if="dotnet" style="display:none">score</span><span data-if="python" style="display:none">score</span></code></i></a>
and a deformable surface matching result handle is
returned in <a href="#DeformableSurfaceMatchingResult"><i><code><span data-if="hdevelop" style="display:inline">DeformableSurfaceMatchingResult</span><span data-if="c" style="display:none">DeformableSurfaceMatchingResult</span><span data-if="cpp" style="display:none">DeformableSurfaceMatchingResult</span><span data-if="com" style="display:none">DeformableSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">deformableSurfaceMatchingResult</span><span data-if="python" style="display:none">deformable_surface_matching_result</span></code></i></a>.
Details of the matching result, such as the deformed model and the position
of the reference points, can be queried with 该算子
<a href="get_deformable_surface_matching_result.html"><code><span data-if="hdevelop" style="display:inline">get_deformable_surface_matching_result</span><span data-if="c" style="display:none">get_deformable_surface_matching_result</span><span data-if="cpp" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="com" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="python" style="display:none">get_deformable_surface_matching_result</span></code></a> using the result handle.
</p>
<p>The score is normalized between <i>0</i> and <i>1</i> and represents
the amount of model surface visible in the scene. A value of
<i>1</i> represents a perfect match.
The parameter <a href="#MinScore"><i><code><span data-if="hdevelop" style="display:inline">MinScore</span><span data-if="c" style="display:none">MinScore</span><span data-if="cpp" style="display:none">MinScore</span><span data-if="com" style="display:none">MinScore</span><span data-if="dotnet" style="display:none">minScore</span><span data-if="python" style="display:none">min_score</span></code></i></a> can be used to filter the result.
A match is returned only if its score exceeds the value of
<a href="#MinScore"><i><code><span data-if="hdevelop" style="display:inline">MinScore</span><span data-if="c" style="display:none">MinScore</span><span data-if="cpp" style="display:none">MinScore</span><span data-if="com" style="display:none">MinScore</span><span data-if="dotnet" style="display:none">minScore</span><span data-if="python" style="display:none">min_score</span></code></i></a>.
</p>
<p>The parameters <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> and <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> are used
to set generic parameters. Both get a tuple of equal length, where the
tuple passed to <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> contains the names of the
parameters to set, and the tuple passed to <a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a> contains
the corresponding values. The possible parameter names and values
are described below.
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'scene_normal_computation'</span><span data-if="c" style="display:none">"scene_normal_computation"</span><span data-if="cpp" style="display:none">"scene_normal_computation"</span><span data-if="com" style="display:none">"scene_normal_computation"</span><span data-if="dotnet" style="display:none">"scene_normal_computation"</span><span data-if="python" style="display:none">"scene_normal_computation"</span></i>:</b></dt>
<dd>
<p>

This parameter controls the normal computation of the sampled
scene.
In the default mode <i><span data-if="hdevelop" style="display:inline">'fast'</span><span data-if="c" style="display:none">"fast"</span><span data-if="cpp" style="display:none">"fast"</span><span data-if="com" style="display:none">"fast"</span><span data-if="dotnet" style="display:none">"fast"</span><span data-if="python" style="display:none">"fast"</span></i>, normals are computed based on
a small neighborhood of points.
In the mode <i><span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span></i>, normals are computed based on a larger
neighborhood and using the more complex but more accurate
<i><span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span></i> method.
A more detailed description of the <i><span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span></i> method can be
found in the description of 该算子
<a href="surface_normals_object_model_3d.html"><code><span data-if="hdevelop" style="display:inline">surface_normals_object_model_3d</span><span data-if="c" style="display:none">surface_normals_object_model_3d</span><span data-if="cpp" style="display:none">SurfaceNormalsObjectModel3d</span><span data-if="com" style="display:none">SurfaceNormalsObjectModel3d</span><span data-if="dotnet" style="display:none">SurfaceNormalsObjectModel3d</span><span data-if="python" style="display:none">surface_normals_object_model_3d</span></code></a>.
The <i><span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span></i> mode is intended for noisy data, such as images
from time-of-flight cameras.
</p>
<p>
<i>List of values:</i> <i><span data-if="hdevelop" style="display:inline">'fast'</span><span data-if="c" style="display:none">"fast"</span><span data-if="cpp" style="display:none">"fast"</span><span data-if="com" style="display:none">"fast"</span><span data-if="dotnet" style="display:none">"fast"</span><span data-if="python" style="display:none">"fast"</span></i>, <i><span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span></i> </p>
<p>
<i>Default value:</i> <i><span data-if="hdevelop" style="display:inline">'fast'</span><span data-if="c" style="display:none">"fast"</span><span data-if="cpp" style="display:none">"fast"</span><span data-if="com" style="display:none">"fast"</span><span data-if="dotnet" style="display:none">"fast"</span><span data-if="python" style="display:none">"fast"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'scene_invert_normals'</span><span data-if="c" style="display:none">"scene_invert_normals"</span><span data-if="cpp" style="display:none">"scene_invert_normals"</span><span data-if="com" style="display:none">"scene_invert_normals"</span><span data-if="dotnet" style="display:none">"scene_invert_normals"</span><span data-if="python" style="display:none">"scene_invert_normals"</span></i>:</b></dt>
<dd>
<p>

Invert the orientation of the surface normals of the scene.
The orientation of surface normals of the scene have to match with the
orientation of the model.
If both the model and the scene are acquired with the same setup,
the normals will already point in the same direction.
If you experience the effect that the
model is found on the 'outside' of the scene surface, try to set this
parameter to <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>.
Also, make sure that the normals in the scene all point either
outward or inward, i.e., are oriented consistently.
</p>
<p>
<i>Possible values:</i> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>, <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i> </p>
<p>
<i>Default value:</i> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_ref_num_steps'</span><span data-if="c" style="display:none">"pose_ref_num_steps"</span><span data-if="cpp" style="display:none">"pose_ref_num_steps"</span><span data-if="com" style="display:none">"pose_ref_num_steps"</span><span data-if="dotnet" style="display:none">"pose_ref_num_steps"</span><span data-if="python" style="display:none">"pose_ref_num_steps"</span></i>:</b></dt>
<dd>
<p>

Number of iterations for the refinement. Increasing the
number of iteration leads to a more accurate position at the expense of
runtime.
However, once convergence is reached, the accuracy can no longer be
increased, even if the number of steps is increased.
</p>
<p>
<i>Suggested values:</i> <i>1</i>, <i>10</i>, <i>25</i>,
<i>50</i> </p>
<p>
<i>Default value:</i> <i>25</i> </p>
<p>
<i>Assertion:</i> <i><span data-if="hdevelop" style="display:inline">'pose_ref_num_steps'</span><span data-if="c" style="display:none">"pose_ref_num_steps"</span><span data-if="cpp" style="display:none">"pose_ref_num_steps"</span><span data-if="com" style="display:none">"pose_ref_num_steps"</span><span data-if="dotnet" style="display:none">"pose_ref_num_steps"</span><span data-if="python" style="display:none">"pose_ref_num_steps"</span></i> &gt; 0
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span></i>:</b></dt>
<dd>
<p>

Set the distance threshold for refinement relative to the
diameter of the surface model.
Only scene points that are closer to the object than this distance
are used for the optimization. Scene points further
away are ignored.
</p>
<p>
<i>Suggested values:</i> <i>0.05</i>, <i>0.1</i>,
<i>0.25</i>, <i>0.3</i> </p>
<p>
<i>Default value:</i> <i>0.25</i> </p>
<p>
<i>Assertion:</i> 0 &lt; <i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_abs"</span></i>:</b></dt>
<dd>
<p>

Set the distance threshold for dense pose refinement as absolute
value.
See <i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span></i> for a detailed
description.
Only one of the parameters <i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_abs"</span></i> can be set. If both are set,
only the value of the last parameter is used.
</p>
<p>
<i>Assertion:</i> 0 &lt; <i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_abs"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span></i>:</b></dt>
<dd>
<p>

Set the distance threshold for scoring relative to the
diameter of the surface model. See the following
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span></i> for a detailed description.
Only one of the parameters <i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span></i> can be set. If both are set,
only the value of the last parameter is used.
</p>
<p>
<i>Suggested values:</i> <i>0.1</i>, <i>0.05</i>,
<i>0.03</i>, <i>0.005</i> </p>
<p>
<i>Default value:</i> <i>0.03</i> </p>
<p>
<i>Assertion:</i> 0 &lt; <i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span></i>:</b></dt>
<dd>
<p>

Set the distance threshold for scoring.
Only scene points that are closer to the object than this distance
are considered to be 'on the model' when computing the score after
the refinement. All other scene points are considered not to be
on the model.
The value should correspond to the amount of noise on the coordinates
of the scene points.
Only one of the parameters <i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span></i> can be set. If both are set,
only the value of the last parameter is used.
</p>
<p>
<i>Assertion:</i> 0 &lt; <i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span></i>
</p>
</dd>
</dl>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<p>This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.</p>
<p>This operator supports canceling timeouts and interrupts.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="DeformableSurfaceModel" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DeformableSurfaceModel</span><span data-if="c" style="display:none">DeformableSurfaceModel</span><span data-if="cpp" style="display:none">DeformableSurfaceModel</span><span data-if="com" style="display:none">DeformableSurfaceModel</span><span data-if="dotnet" style="display:none">deformableSurfaceModel</span><span data-if="python" style="display:none">deformable_surface_model</span></code></b> (input_control)  </span><span>deformable_surface_model <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDeformableSurfaceModel.html">HDeformableSurfaceModel</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the deformable surface model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ObjectModel3D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></b> (input_control)  </span><span>object_model_3d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the 3D object model containing the
scene.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="RelSamplingDistance" class="parname"><b><code><span data-if="hdevelop" style="display:inline">RelSamplingDistance</span><span data-if="c" style="display:none">RelSamplingDistance</span><span data-if="cpp" style="display:none">RelSamplingDistance</span><span data-if="com" style="display:none">RelSamplingDistance</span><span data-if="dotnet" style="display:none">relSamplingDistance</span><span data-if="python" style="display:none">rel_sampling_distance</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">float</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Scene sampling distance relative to the diameter
of the surface model.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0.05</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0.1, 0.07, 0.05, 0.04, 0.03</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>0 &lt; RelSamplingDistance &lt; 1</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="MinScore" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MinScore</span><span data-if="c" style="display:none">MinScore</span><span data-if="cpp" style="display:none">MinScore</span><span data-if="com" style="display:none">MinScore</span><span data-if="dotnet" style="display:none">minScore</span><span data-if="python" style="display:none">min_score</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Minimum score of the returned match.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>MinScore &gt;= 0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_abs"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_num_steps'</span><span data-if="c" style="display:none">"pose_ref_num_steps"</span><span data-if="cpp" style="display:none">"pose_ref_num_steps"</span><span data-if="com" style="display:none">"pose_ref_num_steps"</span><span data-if="dotnet" style="display:none">"pose_ref_num_steps"</span><span data-if="python" style="display:none">"pose_ref_num_steps"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span>, <span data-if="hdevelop" style="display:inline">'scene_invert_normals'</span><span data-if="c" style="display:none">"scene_invert_normals"</span><span data-if="cpp" style="display:none">"scene_invert_normals"</span><span data-if="com" style="display:none">"scene_invert_normals"</span><span data-if="dotnet" style="display:none">"scene_invert_normals"</span><span data-if="python" style="display:none">"scene_invert_normals"</span>, <span data-if="hdevelop" style="display:inline">'scene_normal_computation'</span><span data-if="c" style="display:none">"scene_normal_computation"</span><span data-if="cpp" style="display:none">"scene_normal_computation"</span><span data-if="com" style="display:none">"scene_normal_computation"</span><span data-if="dotnet" style="display:none">"scene_normal_computation"</span><span data-if="python" style="display:none">"scene_normal_computation"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[str, float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">double / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">double / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">double / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Values of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'fast'</span><span data-if="c" style="display:none">"fast"</span><span data-if="cpp" style="display:none">"fast"</span><span data-if="com" style="display:none">"fast"</span><span data-if="dotnet" style="display:none">"fast"</span><span data-if="python" style="display:none">"fast"</span>, <span data-if="hdevelop" style="display:inline">'mls'</span><span data-if="c" style="display:none">"mls"</span><span data-if="cpp" style="display:none">"mls"</span><span data-if="com" style="display:none">"mls"</span><span data-if="dotnet" style="display:none">"mls"</span><span data-if="python" style="display:none">"mls"</span>, 0, 1, 10, 25, 50, 0.05, 0.1, 0.25, 0.3, 0.05, 0.03, 0.005</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Score" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Score</span><span data-if="c" style="display:none">Score</span><span data-if="cpp" style="display:none">Score</span><span data-if="com" style="display:none">Score</span><span data-if="dotnet" style="display:none">score</span><span data-if="python" style="display:none">score</span></code></b> (output_control)  </span><span>real(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Score of the found instance of the surface
model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="DeformableSurfaceMatchingResult" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DeformableSurfaceMatchingResult</span><span data-if="c" style="display:none">DeformableSurfaceMatchingResult</span><span data-if="cpp" style="display:none">DeformableSurfaceMatchingResult</span><span data-if="com" style="display:none">DeformableSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">deformableSurfaceMatchingResult</span><span data-if="python" style="display:none">deformable_surface_matching_result</span></code></b> (output_control)  </span><span>deformable_surface_matching_result(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HDeformableSurfaceMatchingResult.html">HDeformableSurfaceMatchingResult</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[HHandle]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">                            Handle of the matching result.</p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">find_deformable_surface_model</span><span data-if="c" style="display:none">find_deformable_surface_model</span><span data-if="cpp" style="display:none">FindDeformableSurfaceModel</span><span data-if="com" style="display:none">FindDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">FindDeformableSurfaceModel</span><span data-if="python" style="display:none">find_deformable_surface_model</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters are
correct. 如有必要，将引发异常。</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="read_object_model_3d.html"><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></a></code>, 
<code><a href="xyz_to_object_model_3d.html"><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></a></code>, 
<code><a href="get_object_model_3d_params.html"><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></a></code>, 
<code><a href="read_deformable_surface_model.html"><span data-if="hdevelop" style="display:inline">read_deformable_surface_model</span><span data-if="c" style="display:none">read_deformable_surface_model</span><span data-if="cpp" style="display:none">ReadDeformableSurfaceModel</span><span data-if="com" style="display:none">ReadDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">ReadDeformableSurfaceModel</span><span data-if="python" style="display:none">read_deformable_surface_model</span></a></code>, 
<code><a href="create_deformable_surface_model.html"><span data-if="hdevelop" style="display:inline">create_deformable_surface_model</span><span data-if="c" style="display:none">create_deformable_surface_model</span><span data-if="cpp" style="display:none">CreateDeformableSurfaceModel</span><span data-if="com" style="display:none">CreateDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">CreateDeformableSurfaceModel</span><span data-if="python" style="display:none">create_deformable_surface_model</span></a></code>, 
<code><a href="get_deformable_surface_model_param.html"><span data-if="hdevelop" style="display:inline">get_deformable_surface_model_param</span><span data-if="c" style="display:none">get_deformable_surface_model_param</span><span data-if="cpp" style="display:none">GetDeformableSurfaceModelParam</span><span data-if="com" style="display:none">GetDeformableSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetDeformableSurfaceModelParam</span><span data-if="python" style="display:none">get_deformable_surface_model_param</span></a></code>, 
<code><a href="add_deformable_surface_model_reference_point.html"><span data-if="hdevelop" style="display:inline">add_deformable_surface_model_reference_point</span><span data-if="c" style="display:none">add_deformable_surface_model_reference_point</span><span data-if="cpp" style="display:none">AddDeformableSurfaceModelReferencePoint</span><span data-if="com" style="display:none">AddDeformableSurfaceModelReferencePoint</span><span data-if="dotnet" style="display:none">AddDeformableSurfaceModelReferencePoint</span><span data-if="python" style="display:none">add_deformable_surface_model_reference_point</span></a></code>, 
<code><a href="add_deformable_surface_model_sample.html"><span data-if="hdevelop" style="display:inline">add_deformable_surface_model_sample</span><span data-if="c" style="display:none">add_deformable_surface_model_sample</span><span data-if="cpp" style="display:none">AddDeformableSurfaceModelSample</span><span data-if="com" style="display:none">AddDeformableSurfaceModelSample</span><span data-if="dotnet" style="display:none">AddDeformableSurfaceModelSample</span><span data-if="python" style="display:none">add_deformable_surface_model_sample</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="refine_deformable_surface_model.html"><span data-if="hdevelop" style="display:inline">refine_deformable_surface_model</span><span data-if="c" style="display:none">refine_deformable_surface_model</span><span data-if="cpp" style="display:none">RefineDeformableSurfaceModel</span><span data-if="com" style="display:none">RefineDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">RefineDeformableSurfaceModel</span><span data-if="python" style="display:none">refine_deformable_surface_model</span></a></code>, 
<code><a href="get_deformable_surface_matching_result.html"><span data-if="hdevelop" style="display:inline">get_deformable_surface_matching_result</span><span data-if="c" style="display:none">get_deformable_surface_matching_result</span><span data-if="cpp" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="com" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">GetDeformableSurfaceMatchingResult</span><span data-if="python" style="display:none">get_deformable_surface_matching_result</span></a></code>, 
<code><a href="clear_deformable_surface_matching_result.html"><span data-if="hdevelop" style="display:inline">clear_deformable_surface_matching_result</span><span data-if="c" style="display:none">clear_deformable_surface_matching_result</span><span data-if="cpp" style="display:none">ClearDeformableSurfaceMatchingResult</span><span data-if="com" style="display:none">ClearDeformableSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">ClearDeformableSurfaceMatchingResult</span><span data-if="python" style="display:none">clear_deformable_surface_matching_result</span></a></code>, 
<code><a href="clear_object_model_3d.html"><span data-if="hdevelop" style="display:inline">clear_object_model_3d</span><span data-if="c" style="display:none">clear_object_model_3d</span><span data-if="cpp" style="display:none">ClearObjectModel3d</span><span data-if="com" style="display:none">ClearObjectModel3d</span><span data-if="dotnet" style="display:none">ClearObjectModel3d</span><span data-if="python" style="display:none">clear_object_model_3d</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="refine_deformable_surface_model.html"><span data-if="hdevelop" style="display:inline">refine_deformable_surface_model</span><span data-if="c" style="display:none">refine_deformable_surface_model</span><span data-if="cpp" style="display:none">RefineDeformableSurfaceModel</span><span data-if="com" style="display:none">RefineDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">RefineDeformableSurfaceModel</span><span data-if="python" style="display:none">refine_deformable_surface_model</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="refine_deformable_surface_model.html"><span data-if="hdevelop" style="display:inline">refine_deformable_surface_model</span><span data-if="c" style="display:none">refine_deformable_surface_model</span><span data-if="cpp" style="display:none">RefineDeformableSurfaceModel</span><span data-if="com" style="display:none">RefineDeformableSurfaceModel</span><span data-if="dotnet" style="display:none">RefineDeformableSurfaceModel</span><span data-if="python" style="display:none">refine_deformable_surface_model</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
